1. Field of the Invention
The present invention generally relates to database management and, more particularly, to managing multiple information management tools in a data processing system.
2. Description of the Related Art
The creation of increasingly powerful computer (or computing) systems is accompanied by a continuously improved information technology (IT) infrastructure. The IT infrastructure is based on a multitude of different coexisting networks which are (or can be) interconnected. Examples of frequently implemented networks are local area networks (LAN), wide area networks (WAN) and virtual private networks (VPN). Each network can be configured to enable communication between a plurality of different computing systems. For instance, many networks include one or more server computers in communication with numerous client computers. Information can be shared between the one or more server computers and the client computers using information management systems. Such information management systems are frequently composed of a multiplicity of information management tools required for processing information. Such information management tools are software tools and include, for instance, tools for generating information, databases for storing the information and applications for exploiting the information.
Currently, a multiplicity of different information management tools is developed and sold by multiple software manufacturers. For instance, different database solutions are proposed, such as INTERNATIONAL BUSINESS MACHINES' (IBM) DB2, MICROSOFT SQL SERVER™ database product, and ORACLE™, SYBASE™, And COMPUTER ASSOCIATES™ database products. However, overall information management systems integrating plural information management tools are generally not available. An example of an overall information management system is a system that allows managing the complete communication, data transmission and data maintenance required for typical business workflows in today's companies. Such overall information management systems are generally customized solutions that are implemented by integrating information management tools from different vendors into one software environment according to company-specific requirements. In other words, only few operational overall information management systems are currently available for purchase. An example of a well-known overall information management system is the LOTUS NOTES™ information management system of INTERNATIONAL BUSINESS MACHINES™ of Armonk, N.Y.
Information management tools commonly include agents. As known in the art, agents are programs that perform functionalities or services over a network according to a defined scheduling. Under many customized information management system implementations it is common for each information management tool to include one or more agents for performing a specific functionality. One type of functionality which is frequently performed by agents is data replication or processing. For instance, business owners often desire that data stored within their network be copied or otherwise backed up to help minimize loss of data in the event that a server or client fails. To this extent, if a business owner desires that data stored on a particular (source) server be replicated to another (destination) server, the source server will generally include a “replication” agent that will carry out the replication process.
However, problems arise as the size of information management systems and the quantity of agents associated therewith begins to grow. Specifically, as more agents function, the potential for conflicts grows. For instance, simultaneous execution of plural different agents on a server may cause serious performance degradation on the server. Moreover, executing an agent (e.g., a replication agent) during a period of high end-user workload could cause a server process (e.g., replication) to malfunction. In addition, a particular functionality could require a specific sequence of agents to be executed which, if not followed, could result in data integrity problems. The current disparate nature in which agents are controlled often gives rise to such conflict issues. An additional problem with a high quantity of agents distributed across a growing network is the time and energy required to schedule the agents for execution. More specifically, agents are often scheduled at a local level so that if server “A” is to be replicated to server “B”, an administrator/programmer must access server “A” to schedule the replication agent. As the network begins to grow, local scheduling could place unreasonable strain on business resources. To resolve this problem, co-pending U.S. patent application 20030212715, entitled “System, method and program product for centrally managing agents”, filed Nov. 13, 2003, which is incorporated herein by reference, describes a control database of a control system for storing master agents which are scheduled to execute remote agents stored in remote databases of remote systems. Once executed by the master agents, the remote agents will implement functionalities thereto. By providing centralized management of agents in this manner, agent scheduling conflicts are prevented.
One difficulty when dealing with centrally controlled remote agents is that the remote agents are statically defined by the administrator/programmer. However, while the remote agents are statically defined, selection criteria for documents on which to operate may be of dynamic nature. For instance, assume an information management tool including a remote agent that is defined to archive (or replicate) all documents of a corresponding computing system that are in a “Completed” status. Assume further that a given user then requests that, from a given point of time on, only documents which are not older than two weeks should be archived. Thus, the remote agent must be modified manually by the administrator/programmer according to the requested change. In other words, for each support request the remote agent must be modified manually by the administrator/programmer so that it performs the correct operation on the correct set of documents. The manually modified remote agent may then be centrally invoked by the master agent. However, when responding to large numbers of requests per day, updating each function manually and, thus, managing the corresponding information management tools becomes inefficient.
Therefore, there is a need for an improved technique for managing multiple information management tools in a data processing system.